#ifndef __LRC_H__
#define __LRC_H__
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <time.h>
typedef struct
{
    // 表示日期时间的数据结构
    char minute;
    char second;
} TIME;

typedef struct lrc
{
    int time;          // 歌词时间点
    char lrc_buf[200]; // 歌词内容
    int lrc_cur_num;   // 第几句歌词
    struct lrc *next;  // 指向链表中的下一个节点
} LRC;
extern char *read_src_file(char *file_name);                             // 读取文件内容
extern int strtok_lrc_buf(char *src, char ***dest);                      // 切割文件内容
extern LRC *lrc_head_resolve(char ***data, int *len);                    // 处理前几行数据 生成链表头
extern LRC *lrc_resolve(char ***data, int head_len, int len, LRC *head); // 处理头之外的数据
extern void print_song_head(LRC *head, int head_len);                    // 打印歌曲头信息
extern void lrc_printf(LRC *start_point, LRC *pb, int head_len);         // 打印歌词
extern LRC *link_search(LRC *head, int m_time);                          // 查找节点位置
extern LRC *insert_double_link(LRC *head, LRC src);                      // 有序插入链表
extern void link_free(LRC *head);                                        // 释放链表
extern void time_printf(TIME tm, int head_len);                          // 打印时间
extern void m_clock(TIME *p_m_time);                                     // 计算时间
extern void print_space(TIME m_time, int head_len);                      // 打印进度条
#endif                                                                   // !__LRC_H__
